/**
 * ClassName: ForceConversionOfDataType
 * Package: PACKAGE_NAME
 * Description:基本数据类型变量强制转换
 * 规则：
 * 1.如果需要将容量大的变量的类型转换为容量小的变量类型，需要使用强制类型转换
 * 2.强制类型转换需要使用强转符：（） 在（）内指明要转换为的数据类型
 * 3.强制转换会精度缺失
 *
 * @Author 糕糕
 * @Create 2024-01-19 18:57
 * @Version 1.0
 */
public class ForceConversionOfDataType {
    public static void main(String[] args) {
        double d1 = 12;//自动类型提升
//int i1=d1;
// 不兼容的类型: 从double转换到int可能会有损失
        int i1 = (int) d1;
        System.out.println(i1);

        long l1 = 123;
        short s2 = (short) l1;

        System.out.println(l1);

        //练习
        int i3 = 12;
        float f1 = i3;
        System.out.println(f1); //12.0

        float f2 = (float) i3;//编译可以通过，只不过可以省略（）而已

        //精度缺失的例子1：
        double d2 = 12.9;
        int i4 = (int) d2;
        System.out.println(i4);

        //精度缺失的例子2：
        int i5 = 128;
        byte b1 = (byte) i5;
        System.out.println(b1); //-128

        //实际开发距离
        byte b2 = 12;
        method(b2);

        long l2 = 12L;
        method((int) l2);

    }

    public static void method(int num) {
        System.out.println("num" + num);
    }

}
